回顧前篇
了解潛在風險的重要性
制定資安管理相關需要注意很多細節,包含員工是否能快速適應內容,以及是否可以快速應對新型態的攻擊。
假設公司發生如 2017 年 WannaCry 勒索病毒的世界級攻擊,平常沒有做好備份或是防禦措施,遇到這些資安事件可能會措手不及。
而防禦面除了仰賴防禦設備之外,還需要結合其他因素如策略規劃和人員培訓,來確保企業的安全。
因此在構建策略之前,可以嘗試了解潛在的攻擊面,並識別出高風險的內容。
短期仰賴紅隊相關服務
假設自己無法了解潛在攻擊面,便可以委託資安公司進行紅隊相關的服務,協助模擬駭客的攻擊幫助公司找到漏洞,包括弱點掃描、滲透測試、和漏洞挖掘等。
目的都是能幫助企業深入了解所面臨的風險。在修復後也可安排進行複測和驗證,以確保之前找到的問題都有被解決。
長期嘗試自己培養紅隊
企業可以培養內部人員成為紅隊,但成為專業的紅隊人員之前,可以擁有「紅隊思維」,所謂的紅隊思維,就是「戴上攻擊者的眼鏡,了解攻擊者的思路」。
紅隊思維
紅隊思維,以攻擊者的方式來看待企業環境,除了主動尋找可能會有的弱點,也可以思考現在"這樣的行為"是否會有弱點。
比如打開信件之前,會開始思考這封信是不是哪裡怪怪的。
比如財務轉帳之前,會開始思考為什麼主管這麼急迫需要轉帳,我是不是要多次確認內容。
誰需要有紅隊思維
企業內部的每一個人,都需要有紅隊思維,以下盤點企業內部的各種員工,若學習紅隊思維之後,對企業有哪些幫助:
一般員工
一般員工也是每一個人都應該要注意的手法。
- 了解駭客的攻擊方式
- 加強資安意識
- 盤點與舉例駭客的攻擊方式,可以提升認知
- 定時科普最新的資安趨勢
- 最終目的:員工遇到可疑的信件或連結保持警惕
- 有效應對方式
- 社交工程
- 點連結之前,先確認這個網址是否有問題
- 點連結之前,是否有定期做好備份內容
- 點連結之後,如何確認自己的電腦有問題
開發人員
開發人員應具備防範未然的能力,並從一開始設計時就優先考慮資訊安全的問題。
- 安全程式碼開發
- 了解駭客針對開發產品的攻擊手法
- 一開始設計與分析的時候
- 程式碼的強化(SSDLC or DevSecOps)
- 學習滲透測試的流程與手法
- 直接針對自己現成開發的產品進行測試
- 一發現弱點安排修復時程
🥝 SSDLC (Secure Software Development LifeCycle)
SSDLC(Secure Software Development Lifecycle)是一種安全的開發流程,旨在軟體開發生命周期的各個階段中,以安全為主導進行設計、開發、測試和部署。
開發工程師,如果透過 SSDLC,可以在自己開發的軟體、網站加入安全性的考量,也有助於降低被攻擊的風險。
SSDLC 的主要流程如下:
- 需求階段
- 設計階段
- 撰寫程式碼階段
- 測試階段
- 部署階段
🥝 DevSecOps (Development, Security, and Operations)
DevSecOps 是一種將安全整合到 DevOps 中的方法。
旨在開發和執行(維運)過程中都保持安全性,從而使安全成為開發和維運團隊的一部分。
- 持續整合和持續交付
- 自動化的工具保證程式碼的安全
- 及時發現問題後進行修復
- 基礎架構即程式碼(英語:Infrastructure as Code,縮寫:IaC)
- 保障基礎架構的安全
- 允許開發與維運人員使用程式碼來管理基礎建設
- 自動化安全測試
- 加入安全文化
IT 和系統管理員
需要換一個思考方式,以前面對網路環境與佈署內容時,想著只需要把每一個機器或內容可以接通,現在針對設計網路架構與管理機器,都需要有資安的考量。
舉例,原本為了方便管理設定 VLAN (Virtual Local Area Network) 相關的內容,如果加入資安的考量,可以思考不同 VLAN 不能互動,好處是若其中一個 VLAN 中的電腦被勒索,其他 VLAN 可能不會受到影響。
因此紅隊思維協助 IT 與系統管理員,強化系統安全,發生資安事件時,也可快速從 SIEM (Security Information and Event Management) 或 log server 快速有效分析與回應資安事件,最終減少企業停機的時間。
🥝 log (日誌)
記錄系統或應用程式操作和事件的檔案或資料庫,常用來檢查錯誤、監控安全、監控性能。
🥝 VLAN
VLAN 是將物理網路分割成多個邏輯網路的方法,可以讓不同的使用者的群組可以被隔離開來。
🥝 SIEM (Security Information and Event Management)
收集和分析來自各種系統的日誌和安全警報來提供及時的安全監控。
管理人員與企業的決策者
紅隊思維協助企業中的管理階層了解資安的重要性,使這些管理人員編列資安相關的預算,或是分配資源的可以更好的分配到所需的防禦措施。
發生資安事件之後,可以更好的作出決策,有效減少威脅的影響性。
客服和支援團隊
Support 也是一群常常會受到社交工程的攻擊目標,有些駭客可能會偽裝成客戶去聯絡客服人員,因此如何有效識別惡意的企圖,也是可以從紅隊思維去訓練。
其中 Support Team 也會遇到許多客戶的資料,因此也很容易受到駭客攻擊,保護客戶的個資也是 Support Team 需要學習的。
HR 部門
HR 部門會有全公司人員的履歷與資料,駭客也很喜歡攻擊 HR 的部門,不僅可以快速知道企業內部的關係(有哪一些部門、主管是誰)因此 HR 也需要識別是否為攻擊。
HR 同時也需要了解駭客相關的攻擊手法,並且規劃與執行對整體員工有效的教育訓練方法,也會建議在新進人員中,安排相關的資安通識與資安意識課程。
如何有效提升紅隊的思維
- 知己知彼,百戰百勝
- 更新最新趨勢,了解攻擊趨勢
紅隊思維進化成紅隊能力
內部的防禦人員,也能學習紅隊常使用的工具與技術,如企業內部安排防禦人員針對企業內部的資產進行弱點掃描與滲透測試,從而更好地保護企業資產。
攻擊流程參考
在攻擊流程中有許多方法論,主要滲透測試的方法論為主,如 PTES (Penetration Testing Execution Standard)、OWASP Web Security Testing Guide
-
PTES
- 撰寫不同攻擊目標的滲透測試標準,網站內也介紹詳細的滲透測試的各個階段的內容。
-
WSTG
- WSTG 測試網站應用程式和網站服務的安全測試指南。
若無滲透測試的經驗,則可以許多理解駭客攻擊手法的框架與相關的駭客手法資料庫如 Cyber Kill Chain、ATT&CK
🥝 TTPs
- APT 組織透過一段攻擊流程,取得最終利益,其中攻擊手法可以分解成 TTPs,其中 TTPs 分別為:
- T,Tactics:攻擊者預期達成的目標→該階段的目標,定義戰術與策略
- T,Techniques:達成階段目標所執行的手法→策略中的技巧與技術
- P,Procedures:攻擊者所使用或開發的軟體與工具→技術實現的過程
TTPs 的階層
- Tactics > Techniques > Procedures:
- 一個 Tactics 階段目標中有多個 Techniques 可達到目標的手法,一個 Techniques 執行手法有多個使用的 Procedures 軟體或工具。
ATT&CK®的架構可以對應到Cyber Kill Chain,但最大的不同點為:
ATT&CK®是不需要遵循流程,沒有一定的線性順序,攻擊者可以隨意切換戰術來實現最終結果。
網際攻擊狙殺鍊(Cyber Kill Chain)
-
偵查(Reconnaissance):
- 惡意攻擊者針對受害者,必須透過挖掘開放情報與分析內容,找到進入目標的入口,可能是社交工程的手法,如釣魚信件須找到受害者的電子郵件、釣魚網站則是收集受害者時常瀏覽的網站或喜歡的網站類型。
-
武裝(Weaponization):
- 該如何進入目標,除了第一階段偵查找到入口之後,製作武器是第二步驟,構造惡意檔案如 Word 文件內包含惡意巨集或具有後門的圖片檔案,甚至是 PDF 也包含惡意程式後門或木馬病毒。
-
傳遞(Delivery):
- 如何將第二階段製作好的武器,傳送給受害者,如同第一階段提到釣魚信件搭配第二階段的惡意檔案 Word,第三階段則是透過「電子郵件的附件」夾帶附件,誘使受害者下載。
- 工控場域中可能會以「USB 儲存裝置」加上勒索軟體達到攻擊者目的。
-
弱點攻擊(Exploitation):
- 前段的過程成功找到入口點、構造武器並使受害者下載,如何讓這個惡意程式執行,可能於釣魚信件中「誘使」目標點擊與執行,或是插入 USB 儲存裝置後「自動執行」惡意程式。
-
控制(Control):
- 惡意檔案包含可被惡意攻擊者遠端存取的木馬或是後門,可以使惡意攻擊者存取受害者的主機或伺服器。
-
執行(Execute):
- 上一個階段使惡意攻擊者可以存取主機或伺服器,惡意攻擊者在受害者的主機與伺服器竊取敏感資料。
-
維持(Maintain):
- 等惡意攻擊者竊取敏感資料完畢,攻擊者會移除主機中的日誌檔案與稽核紀錄,使得受害者無法追查入侵來源,但仍保持在受害主機中的權限。
ATT&CK
Enterprise Matrix、Mobile Matrices,ICS Matrix,
- Enterprise Matrix:可分成 PRE、作業系統、雲端、網路共十一種平台
1)PRE:第八版針後併入 Enterprise,也就是偵測目標與研發武器。
2)作業系統:Windows、macOS、Linux
3)雲端:AWS、GCP、Azure、Azure AD、Office 365、SaaS
4)網路:Network
- Mobile Matrices:依據目前行動裝置的作業系統分成兩種平台:
1)Android
2)iOS
ATT&CK® 版本有 Enterprise Tactics 共 14 個與 Mobile Tactics 14個,以下介紹 Enterprise Tactics 的 14 個階段目標:
- TA0043 Reconnaissance 偵查
惡意攻擊者收集攻擊目標的資訊,如企業的網路基礎架構與企業員工資訊,這些收集來的資訊可以幫助惡意攻擊者計畫或執行「初始存取」的階段。
- TA0042 Resource Development 資源開發
惡意攻擊者製作攻擊武器,可能購買域名來進行釣魚,購買伺服器當作 C2 伺服器,或其他前置作業都會歸類在資源開發區。
- TA0001 Initial Access 初始訪問
找到進入目標入口點,如對外網站有弱點、RDP、VPN、釣魚信件中的惡意檔案等,甚至在供應鏈中(產品製造過程)對產品動了手腳。
- TA0002 Execution 執行
惡意攻擊者執行惡意程式碼,在 Windows 中透過 Cmd 或 Powershell 執行惡意指令,甚至是程式語言(Python 或 JavaSrcript),亦有可能透過網路設備的 CLI 來進行惡意指令。
- TA0003 Persistence 持續
惡意攻擊者要保持自己在目標主機中的連線,當遇到目標主機重新開機、更改密碼或中斷連線時,可以在啟動資料夾中放入惡意執行檔案,每次重新開機都會執行,或是在目標主機中新增帳號。
- TA0004 Privilege Escalation 提升權限
惡意攻擊者進入目標系統後欲取得更高權限,透過系統漏洞、設定錯誤等方式,可能從一般使用者提權到管理權使用者,該戰術內的技術可能會跟「持續」階段有重疊,因為要保持在目標主機權限中有可能需要提權。
- TA0005 Defense Evasion 防禦規避
惡意攻擊者避免自己在攻擊過程中被發現,進入目標環境後可能關閉防毒軟體、混淆或加密攻擊程式碼,使自己的入侵行為不會被偵測到。
- TA0006 Credential Access 憑證存取
惡意攻擊者竊取帳號、密碼,其中密碼可能包含金鑰或其他憑證儲存的格式,透過合法的憑證可以減少被發現的可能性。
- TA0007 Discovery 發現環境資訊
惡意攻擊者進入目標主機後,透過工具查看目標系統內的資訊與網路架構,包含取得主機內所有帳號列表,可以讓惡意攻擊者確定哪些帳號可被用來輔助後續攻擊行為,或針對通訊埠進行掃描確認網路架構。
- TA0008 Lateral Movement 橫向移動
惡意攻擊者確認網路架構,該網段內可能有其他機器,透過工具或其他技術手法,橫向移動到其他機器並進行更進一步收集有用情報甚至竊取敏感資料等。
- TA0009 Collection 收集
惡意攻擊者收集與目標相關的資料,可能透過螢幕截圖或是鍵盤輸入等手法。
- TA0011 Command and Control 命令與控制
惡意攻擊者從受害或其他橫向移動後掌握的主機,跟自身的主機(C2 Server)進行連線,以作為後續竊取敏感資料的橋樑。
- TA0010 Exfiltration 竊取資料
惡意攻擊者竊取目標主機的敏感資料,透過打包壓縮和加密回傳給自身主機。
- TA00040 Impact 影響
惡意攻擊者可能會中斷或破壞目標主機的系統服務與敏感資料,來達到破壞可用性與損害完整性,如刪除系統日誌與加密客戶資料。
下篇將盤點企業該知道自己哪裡會被攻擊,針對駭客收集的資料之後會制定對應的下一步攻擊方向。
參考資料